package com.hljcj.boot.dao;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.data.domain.Page;
import org.springframework.stereotype.Repository;

import com.hljcj.boot.bean.SysStaff;
import com.hljcj.boot.dao.base.BaseDao;


@Repository
public class StaffDao {

    @Resource
    BaseDao baseDao;
    /**
     *
     * @param sysStaff
     * @param pageNo
     * @param pageSize
     * @return
     * @throws Exception
     */
    public Page<SysStaff> queryStaff(SysStaff sysStaff,int pageNo,int pageSize) throws Exception{
        String hql="from SysStaff a ";
        List<Object> params=new ArrayList<>();
        int index=0;
        if (null!=sysStaff) {
            if (null!=sysStaff.getStaffName()&&!"".equals(sysStaff.getStaffName())&&sysStaff.getStaffName().length()>0) {
                hql+= (index==0?"where":"and")+" staffName like ?"+(index++);
                params.add('%'+sysStaff.getStaffName()+'%');
            }

            if (null!=sysStaff.getStaffAddr()&&!"".equals(sysStaff.getStaffAddr())&&sysStaff.getStaffAddr().length()>0) {
                hql+= (index==0?"where":"and")+" staffAddr like ?"+(index++);
                params.add('%'+sysStaff.getStaffAddr()+'%');
            }
        }
        return baseDao.findByJpaPage(hql,params.toArray(), pageNo, pageSize);
    }
}
